const cron = require('node-cron');
const { appoint } = require('../dbConfig/index');
const { Op, where } = require('sequelize');
const app = require('../app');
// 创建定时任务
/**
 * * * * * * - 每分钟执行
 0 * * * * - 每小时的第一个分钟执行
 0 0 * * * - 每天的午夜执行
 0 0 * * 0 - 每周日的午夜执行
 0 1 * * * - 每天的凌晨 1 点执行
 */
cron.schedule('0 1 * * *', async () => {  // 每天凌晨一点执行
    try {
		const appointData = await appoint.findAll({
				where:{
					appoint_state: {
						[Op.or]: ['1', '2']  // 查询状态为 1 或 2
					}
				}
			});
			for(let i=0;i<appointData.length;i++){
				const itemDate = new Date(appointData[i].appointment_time.split(' ')[0])
				const oDate = new Date()
				const atDate = new Date(`${oDate.getFullYear()}/${oDate.getMonth()+1}/${oDate.getDate()}`)
				if(atDate>itemDate){
					await appoint.update({
						appoint_state:3
					},{
						where:{
							Id:appointData[i].Id
						}
					});
				}
				  
			}
    } catch (error) {
        console.error('Error executing task:', error);
    }
});